The present invention relates to dynamic random access memories (DRAMs), and in particular to refreshing techniques.
DRAM devices function by storing charge on a capacitor at each memory location. The capacitor loses the charge over time, and accordingly it needs to be recharged to its original level, whether a 1 or 0, periodically. This period is known as the refresh period, tREF. A typical tREF value is 64 ms. This recharging is termed refreshing, and is done by doing a row access for every row in the memory device. In newer DRAM designs, the rows and columns are broken into multiple banks to break down large DRAM arrays into smaller pieces.
The row access operation is performed in two steps. First, a row is opened, or turned on, in a xe2x80x9csensexe2x80x9d operation, by turning on the sense amps. Next, the row is closed by doing a xe2x80x9cprechargexe2x80x9d operation, using a precharge equalization transistor. When a refresh is performed, there is no need to select a particular bit with a column address, and the data is not read.
As the storage capacity of memory devices increases and the number of banks per device increases, the issue rate of refresh commands sent to the memory device from the controller also increases and can introduce a refresh overhead that unacceptably impacts the performance of normal memory accesses.
To reduce refresh overhead, it is desirable to refresh more than one bank for each refresh command. This approach can be called multibank refresh. With a given refresh command, more than one bank could be either simultaneously or sequentially refreshed. From a performance standpoint, it is more desirable to refresh banks simultaneously, so that the time that bank resources are tied up is minimized.
Simultaneous multibank refresh, however, has the problem of current spikes. Each refresh operation for each bank requires a certain amount of supply current over time. At the onset of the operation, there is an initial spike of current. This spike is large because the row sensing circuits have been designed to access cell data as quickly as possible in order to minimize the latency to the first allowable page access to bits stored in the sense amps. This spike, characterized by rate of change in current, dl/dt, can cause noise problems in a DRAM, since current spikes can reduce the internal supply voltage and cause failure in circuits on the same die or on other devices that share the same supply voltage. With multiple banks simultaneously doing a row sense, the current spike effect can be additive, thus causing greater probability of circuit failure.
Typically, a refresh operation is done by periodically addressing every row with a controller. Thus, interspersed between normal memory access operations, refresh commands are sent in the form of a RAS control signal with a row address. In a prior RAMBUS memory system, these commands are sent in packets which are decoded in the memory chips themselves.
In addition to the normal refreshing interspersed with memory accesses, the memory may also be put into a sleep or stand-by mode. In this mode, it is not being accessed, and minimal power drain is desired. This is accomplished by simply refreshing the memory when needed, and otherwise not doing memory accesses. Memory chips typically have on-chip counters for sequencing through all the rows and banks in order to accomplish such a self-refresh. This allows the memory chips to refresh themselves, without requiring the controller to be turned on to provide it with the refresh addresses and commands.
Because self-refresh mode uses a clock or sequencer on the DRAM itself, a synchronization issue arises when the device comes out of self-refresh mode and the controller takes over memory accesses and controlling refresh. The typical way the synchronization is handled is for the microprocessor, upon powering up out of a self-refresh mode, to send a burst of refresh commands covering all the data locations in the memory chip. In this way, it is ensured that the timing of the last refresh of every memory location is known to the microprocessor.
To keep up with increasing microprocessor speeds, there has been pressure to increase the speed at which memory is accessed. One method for accomplishing this is to shape the current pulse provided by the sense amplifier driver in order to increase access speed. This is discussed, for example, in an article by H. Geib, W. Rabnd. Schmitt-Landsiedel, entitled xe2x80x9cBlock-Decoded Sense-Amplifier Driver for High-Speed Sensing in DRAM""sxe2x80x9d, IEEE Journal of Solid-State Circuits, Vol. 23, No. 9, September 1992. As memories become larger, however, more locations need to be refreshed at any given time, and refreshing draws more power in a shorter time for the larger memories. Thus, current spikes can cause significant noise problems on the power line during a refresh operation. Accordingly, refresh protocols limit refreshing to one row at a time in order to control refreshing noise.
The present invention makes multibank refresh more practical by varying the current profile for the row sense and/or row precharge currents during a refresh operation, as compared to normal memory access. Unlike normal memory accesses, data is not needed, and a fast access time is not required. This allows the current to be spread using different circuitry for driving the current so as to lessen current spikes. The spread current is still maintained within the timing of a normal refresh or memory access.
By refreshing multiple banks in response to a single command, the present invention provides a method for reducing the communication overhead over the interface bus to the memory devices for refresh operations.
In one embodiment, the generation of row and bank addresses during refresh is split between on-chip and external commands. A row counter is provided on the memory chip, with the row counter being used for refresh operations, both normal and self-refresh. Only the bank address needs to be sent over the memory bus. Since the same row counter is used for self and normal refresh, only a burst of the banks for a particular row need to be issued to regain synchronization, since the same row counter is used in both modes.
Additionally, in the preferred embodiment, the banks occupy the least significant bits of the address, and the rows occupy the most significant bits of the address. Such an addressing scheme allows the internal row counters to be taken advantage of, and allows a transition from self-refresh to normal refresh with only a burst of the banks.
In one embodiment, the row sense or precharge currents have their profile modified by using multiple transistors in parallel, with only one or some transistors being turned on, or some or all of the transistors being sequentially turned on, so that the full current is not applied at once in the refresh mode. In normal mode, all the transistors can be turned on simultaneously for the fastest access. Alternately, the control signal provided to the sense driver or precharge driver could be ramped at a lower rate, or operate at a lower voltage to limit the current spike of the transistor.